$(function(){
	list();
	$("#ipBWListAdd").click(add);
	$("#ipBWListEdit").click(edit);
	top.UppTabs.ipBWList = top.getCurrentTagTitle();//设置用户tab的标题值
});
/**
 * 查询系统参数列表
 */
function list(){
	$("#ip_bwlist_list").datagrid({
		onLoadError:function(){
			uppAjaxError(data);
		},
		columns : [ [ {
			field : 'ipId',
			title : '',
			hidden : true
		},{
			field : '_c',
			title : '',
			checkbox : true
		},{
			field : 'beginIpChar',
			title : '',
			hidden : true
		},{
			field : 'endIpChar',
			title : '',
			hidden : true
		},{
			field : '_ipAddress',
			title : 'IP地址段',
			align : 'center',
			width : 160,
			formatter:function(value,row,index){
				return row.beginIpChar + '——' + row.endIpChar;
			}
		},{
			field : 'listType',
			title : '类型',
			align : 'center',
			width : 100,
			formatter:function(value,row,index){
				return value=='1'?'黑名单':value=='2'?'白名单':'无法识别的类型';
			}
		},{
			field : 'createTime',
			title : '创建时间',
			width : 100,
			align : 'center',
			formatter:function(value,row,index){
				return new Date(Number(value)).dateConvert();
			}
		}
		] ],
		autoRowHeight : true,
		fitColumns : true,
		pagination : true,
		rownumbers : true,
		singleSelect : false
	});
}

/**
 * 打开修改链接
 * @param e
 */
function add(){
	var content = $(this).html();
	$(this).html('IP黑白名单-新增');
	window.parent.menuClick(this);
	$(this).html(content);
}

/**
 * 打开修改链接
 * @param e
 */
function edit(){
	var rows = $('#ip_bwlist_list').datagrid('getSelections');
	if(rows != null && rows.length != 0){
		if(rows.length > 1){
			$.messager.confirm('提示','只能选择一条数据进行编辑','info');
			return;
		}
		var content = $(this).html();
		$(this).html('IP黑白名单-编辑');
		$(this).attr('hiddenhref', contextPath + 'sys/ipBlackWhiteList/toEditView?ipId=' + rows[0].ipId);
		window.parent.menuClick(this);
		$(this).html(content);
	}else{
		top.uppShow('请选择要编辑的数据后，再进行编辑!');
	}
}

/**
 * 删除选定的数据
 */
function del(){
	var rows = $('#ip_bwlist_list').datagrid('getSelections');
	if(rows != null && rows.length > 0){
		$.messager.confirm('操作提示', uppDialog.deleteMsgConfirm,function(data){
			if(data){
				var parameter = '';
				for(var i in rows){
					if(i == 0){
						parameter += '?'
					} else {
						parameter += '&'
					}
					parameter += 'ipList=' + rows[i].ipId;
				}
				$.ajax({
					url:contextPath + 'sys/ipBlackWhiteList/delete' + parameter,
					type:"post",
					success:function(data){
						top.uppShow(data.msgDesc);
						$('#ip_bwlist_list').datagrid('load');
					},
					error : function(data){
					     uppAjaxError(data);
					}
				});
			}
		});
	}else{
		top.uppShow('请选择要删除的数据');
	}
}

/**
 * 搜索IP黑白名单
 * @returns
 */
function search(){
	var ipAddr = $('#ipAddr').val();
	if(isNotBlank(ipAddr) && isNotIp(ipAddr)){
		top.uppShow('ip地址格式不正确,请重新输入');
		return;
	}
	$('#ip_bwlist_list').datagrid('load', {
		listType : $('#listType').val(),
		ipAddr : ipAddr
	});
}

/**
 * 判断字符串是否为空
 * @param str
 * @returns
 */
function isNotBlank(str){
	if(str && /\S+/.test(str)){
		return true;
	}
	return false;
}
/**
 * 判断字符串是否为空
 * @param str
 * @returns
 */
function isBlank(str){
	return !isNotBlank(str);
}
/**
 * 验证输入的字符串是否为无效的ip地址
 * @param str要验证的字符串
 * @returns
 */
function isNotIp(str){
	var regex = new RegExp("^((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){0,3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)$");
	return !regex.test(str);
}